group { name: "e/widgets/check";
   parts {
      part { name: "base"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            color_class: "/bg/normal/check/base";
            align: 0.0 0.5;
            min: 13 13;
            max: 13 13;
            rel1.offset: 4 4;
            rel2.offset: 4 -5;
            rel2.relative: 0.0 1.0;
            offscale;
            fixed: 1 1;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/bg/disabled/check/base";
         }
      }
      part { name: "clip"; type: RECT;
         description { state: "default" 0.0;
            rel.to: "base";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 153; // no cc
         }
      }
      part { name: "indicator"; mouse_events: 0;
         clip_to: "clip";
         scale: 1;
         description { state: "default" 0.0;
            rel.to: "base";
            image.normal: "i-check";
            min: 15 15;
            max: 15 15;
            visible: 0;
            color_class: "/fg/normal/check/check";
            fixed: 1 1;
         }
         description { state: "pressed" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/pressed/check/check";
            visible: 1;
         }
         description { state: "selected" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/selected/check/check";
            visible: 1;
         }
      }
      part { name: "e.text.label"; type: TEXT;
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: 4 4;
            rel1.to_x: "base";
            rel1.relative: 1.0 0.0;
            rel2.offset: -5 -5;
            color_class: "/fg/normal/check/text";
            text { font: FN; size: 10;
               min: 1 1;
               ellipsis: -1;
               align: 0.0 0.5;
               text_class: "check_button";
            }
            offscale;
            min: 0 ICMIN;
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/check/text";
         }
         description { state: "pressed" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/pressed/check/text";
         }
      }
      part { name: "event"; type: RECT;
         ignore_flags: ON_HOLD;
         description { state: "default" 0.0;
            color: 0 0 0 0; // no cc
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
   }
   programs {
      program { signal: "e,state,checked"; source: "e";
         action: STATE_SET "selected" 0.0;
         target: "indicator";
      }
      program { signal: "e,state,unchecked"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "indicator";
      }
      program { signal: "mouse,down,1"; source: "event";
         action: STATE_SET "pressed" 0.0;
//         target: "indicator";
         target: "e.text.label";
      }
      program { signal: "mouse,up,1"; source: "event";
         action: STATE_SET "default" 0.0;
//         target: "indicator";
         target: "e.text.label";
      }
      program { signal: "mouse,clicked,1"; source: "event";
         action: SIGNAL_EMIT "e,action,toggle" "";
      }
      program { signal: "e,state,disabled"; source: "e";
         action: STATE_SET "disabled" 0.0;
         target: "base";
         target: "clip";
         target: "e.text.label";
         target: "event";
      }
      program { signal: "e,state,enabled"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "base";
         target: "clip";
         target: "e.text.label";
         target: "event";
      }
   }
}

group { name: "e/widgets/check_icon";
   inherit: "e/widgets/check";
   parts {
      part { name: "e.swallow.icon"; type: SWALLOW;
         scale: 1;
         insert_before: "event";
         clip_to: "clip";
         description { state: "default" 0.0;
            rel1.offset: 4 4;
            rel1.relative: 1.0 0.0;
            rel1.to_x: "base";
            rel2.offset: 4 -5;
            rel2.relative: 1.0 1.0;
            rel2.to_x: "base";
            align: 0.0 0.5;
            aspect: 1.0 1.0; aspect_preference: VERTICAL;
            offscale;
         }
      }
      part { name: "e.text.label";
         description { state: "default" 0.0;
            rel1.to_x: "e.swallow.icon";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/check/text";
         }
      }
   }
}
